function seg = genarate_trajectory(option,xxx)
%GENARATE_TRAJECTORY    生成轨迹
%   
    switch option
        case 1%高动态
            seg = trjsegment(xxx, 'init',         0); %初始化
            seg = trjsegment(seg, 'uniform',      1);%保持现状100s
            seg = trjsegment(seg, 'accelerate',   15, xxx, 10);%以5m/s加速前进20s
            seg = trjsegment(seg, 'uniform',      2);
            seg = trjsegment(seg, 'climb',        15, 2, xxx, 20);
            seg = trjsegment(seg, 'uniform',      2);
            % seg = trjsegment(seg, '8turn',        20, 2, xxx, 0.3);
            seg = trjsegment(seg, 'uniform',      8);
            seg = trjsegment(seg, 'coturnleft',   20, 2, xxx, 0.4);
            for k=1
            seg = trjsegment(seg, 'uniform',      2);
            seg = trjsegment(seg, 'coturnright',  30, 2, xxx, 4);
            seg = trjsegment(seg, 'uniform',      2);
            seg = trjsegment(seg, 'coturnleft',   30, 2, xxx, 4);
            end
            seg = trjsegment(seg, 'coturnleft',   20, 2, xxx, 4);
            seg = trjsegment(seg, 'uniform',      2);
            seg = trjsegment(seg, 'coturnleft',   20, 180/20, xxx, 4);
            seg = trjsegment(seg, 'uniform',      2);
            seg = trjsegment(seg, 'descent',      15, 2, xxx, 20);
            seg = trjsegment(seg, 'uniform',      2);
            seg = trjsegment(seg, 'deaccelerate', 10, xxx, 20);
            % seg = trjsegment(seg, 'uniform',      3600-sum(seg.wat(:,1)));
        case 2%低动态
            seg = trjsegment(xxx, 'init',         0);
            seg = trjsegment(seg, 'uniform',      1);
            seg = trjsegment(seg, 'accelerate',   20, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'deaccelerate',   10, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnright',   20, 8, xxx, 0.4);
            seg = trjsegment(seg, 'headup',   30, 0.2, xxx, 0.4);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
        case 3%静止300s
            seg = trjsegment(xxx, 'init',         0);
            seg = trjsegment(seg, 'uniform',      300);
        case 4%静止100s
            seg = trjsegment(xxx, 'init',         0);
            seg = trjsegment(seg, 'uniform',      100);
        case 5%低速匀加速100s
            seg = trjsegment(xxx, 'init',         0);
            seg = trjsegment(seg, 'uniform',      1);
            seg = trjsegment(seg, 'accelerate',   100, xxx, 0.35);
        case 6%低速匀速100s
            seg = trjsegment(xxx, 'init',         0);
            seg = trjsegment(seg, 'uniform',      1);
            seg = trjsegment(seg, 'accelerate',   2, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',   100);
        case 7%低动态加长版
            seg = trjsegment(xxx, 'init',         0);
            seg = trjsegment(seg, 'uniform',      1);
            seg = trjsegment(seg, 'accelerate',   20, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'deaccelerate',   10, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnright',   20, 8, xxx, 0.4);
            seg = trjsegment(seg, 'headup',   30, 0.2, xxx, 0.4);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'accelerate',   20, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'deaccelerate',   10, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnright',   20, 8, xxx, 0.4);
            seg = trjsegment(seg, 'headup',   30, 0.2, xxx, 0.4);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'accelerate',   20, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'deaccelerate',   10, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnright',   20, 8, xxx, 0.4);
            seg = trjsegment(seg, 'headup',   30, 0.2, xxx, 0.4);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'accelerate',   20, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'deaccelerate',   10, xxx, 0.35);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnright',   20, 8, xxx, 0.4);
            seg = trjsegment(seg, 'headup',   30, 0.2, xxx, 0.4);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      10);
            seg = trjsegment(seg, 'coturnleft',   10, 3, xxx, 0.4);
            seg = trjsegment(seg, 'uniform',      1000-sum(seg.wat(:,1)));
        otherwise
            error("没有这么多轨迹");
    end
end

